record Vec3 {
    x : Double;
    y : Double;
    z : Double;
}

implement Vec3 {
    operator + (self : Self, b : Self) {
        return Vec3(self.x + b.x, self.y + b.y, self.z + b.z);
    }
}

var a = Vec3(1.0, 2.0, 3.0);
var b = Vec3(0.5, 0.5, 0.5);
var c = a + b;

print(c.x);
print(c.y);
print(c.z);
